Skip to content

逻辑回归

什么是逻辑回归

逻辑回归是一种用于解决分类问题的机器学习模型,尽管名字里有“回归”,但它并不是用来预测连续数值的,而是用来预测某个样本属于某个类别的概率。简单来说,逻辑回归回答的是“是或否”、“属于还是不属于”这样的问题

逻辑回归假设输入特征的线性组合(类似线性回归)可以用来预测类别概率,但通过一个特殊的函数(逻辑函数)将线性组合的结果映射到 0 到 1 之间

逻辑函数

逻辑函数(也叫 Sigmoid 函数)是逻辑回归中用来将线性组合结果映射到概率值(0 到 1 之间)的核心工具。它的形状像一个“S”形曲线,输入可以是任何实数,输出永远在 0 到 1 之间

逻辑函数的公式:

σ(z)=11+ez

image.png

  • z 是输入值(通常是特征的线性组合,为之前所说的线性回归)
  • e 是自然对数的底
  • 输出 σ(z) 是概率值,范围在 (0,1)

决策边界

决策边界是逻辑回归模型用来区分不同类别的“分界线”或“分界面”。简单来说,它是一个规则,模型根据这个规则决定一个样本属于哪个类别(比如“是”或“否”,“买”或“不买”)。在逻辑回归中,决策边界通常是基于预测概率的一个阈值(默认是 0.5),对应特征空间中的一条线、平面或超平面

如何确定决策边界

  1. 线性组合:逻辑回归首先会计算特征的线性组合,可以使用多项式:
z=W0+W1·X1+W2·X2++Wn·Xn
  1. 概率映射:通过逻辑函数 (Sigmoid 函数)将 z 映射到概率:
p^=σ(z)=11+ez

p^ 是预测概率,范围在 0 到 1 之间

  1. 决策规则:默认情况下,逻辑回归使用概率阈值 0.5 来决定类别:
    • 如果 p^0.5 ,预测类别为 1(正类)
    • 如果 p^<0.5,预测类别为 0(负类)

逻辑回归的损失函数

逻辑回归的损失函数,也称为对数损失(Log Loss)或交叉熵损失(Cross-Entropy Loss),是用来衡量模型预测结果与真实标签之间差异的一个指标。简单来说,损失函数告诉我们模型的预测有多“糟糕”,通过最小化这个损失,模型可以学习到更好的参数(权重和截距)

为什么不能使用线性回归的均方误差

线性回归使用的均方误差(MSE)只适合连续值的预测,如果逻辑回归使用均方误差误差,会出现多个局部最小值

逻辑回归损失函数的推导

逻辑回归的概率模型

逻辑回归假设:

  • 样本属于类别 1 的概率是:p^=σ(z)=11+ez
  • 样本属于类别 0 的概率是:1p^

对于一个样本,其真实标签为 y(取值为 0 或 1),其预测概率为:

P(y|X)=p^y·(1p^)1y
  • y=1 时,P(y|X)=p^
  • y=0 时,P(y|X)=1p^

最大似然估计

我们希望模型预测的这些概率“尽可能大”,这就是最大似然估计的意思,联合概率是每个样本概率的乘积:

L(W)=i=1mP(yi|xi)=i=1mp^iyi(1p^i)1yi

但我们一般不直接最大化概率,而是最大化对数概率(因为乘起来的东西变成加法,方便计算):

logL(W)=i=1m[yilog(p^i)+(1yi)log(1p^i)]

在机器学习中,我们习惯最小化损失,而不是最大化似然,所以我们把对数似然的负值作为损失函数:

J(W)=1mi=1m[yilog(p^i)+(1yi)log(1p^i)]
  • 负号:把最大化问题变成最小化问题
  • 除以 m:取平均,防止样本数量影响损失大小

这就是逻辑回归的对数损失函数,也叫二元交叉熵损失(Binary Cross-Entropy Loss)

单个样本的损失

Loss=[y·log(p^)+(1y)·log(1p^)]

逻辑回归的梯度下降

本质思路和线性回归的梯度下降是一样的,其参数更新公式为:

w:=wα1mi=1m(p^iyi)xib:=bα1mi=1m(p^iyi)

最后更新于:

Released under the MIT License.